package top.infopub.mgr.cap.service;

import com.github.pagehelper.PageInfo;
import top.infopub.dto.cap.PayInterestDto;
import top.infopub.generic.GenericService;
import top.infopub.mgr.cap.domain.PayInterestDomain;
import top.infopub.mgr.cap.jsonvo.PayInterestJsonVo;
import top.infopub.mgr.cap.vo.PayInterestQuery;
import top.infopub.mgr.common.page.ParamPage;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.model.cap.PayInterest;
import top.infopub.model.cap.PayInterestDetail;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.security.vo.AuthorizationVO;

import java.util.List;

public interface PayInterestService extends GenericService<PayInterest, String> {
    /**
     * 融资付息分页列表
     * @param paramPage
     * @param query
     * @return
     */
    PageInfo<PayInterestDomain> queryPayInterestPage(ParamPage paramPage, PayInterestQuery query);

    /**
     * 根据id查询详情
     * @param id
     * @return
     */
    PayInterestJsonVo queryDetailById(String id);

    /**
     * 编辑付息信息
     * @param payInterDto
     * @param detailList
     * @param attachmentList
     * @param submitType
     * @param vo
     * @return
     */
    RspVo edit(PayInterestDto payInterDto, List<PayInterestDetail> detailList,
                      List<ProjectAttachment> attachmentList, Integer submitType, AuthorizationVO vo);

    /**
     * 编辑财务信息
     * @param payInterest
     */
    RspVo modifyFinInfo(PayInterest payInterest, AuthorizationVO vo, String processId);
}